#include<iostream>
using namespace std;
#include<stdlib.h>
#define INITSIZE 100


typedef struct{
	int x;
	int y;
}PosType;

typedef struct{
	int ord;
	PosType seat;
	int di;
}SElemType;

typedef struct SNode{
	SElemType *top,*base;
	int stacksize;
}SqStack;



bool InitStack(SqStack &);
int StackEmpty(SqStack);//StackEmpty
void GetTop(SqStack,SElemType &) ;//GetTop
bool Push(SqStack &,SElemType );//Push
bool Pop(SqStack &,SElemType &) ;//Pop
int pass(int maze[10][10],PosType,SElemType &);//pass
void Footprint(PosType,int maze[10][10]);//Footprint
void nextpos(PosType &,int );//nextpos

void markprint(PosType,int maze[10][10]);//markprint



int mazepath(int maze[10][10],PosType,PosType,SqStack &);//mazepath


void print(SqStack);